Video game environments have evolved greatly over the last several decades. Video games were traditionally played in a 2-D game environment where a player could operate player characters in an X-Y coordinate space. For example, in the classic 80's game Super Mario Bros., the player could move the player character Mario in an X-Y coordinate space by making him move left or right using a controller, or jump up and down using a button.
Video games eventually evolved into more robust 3-D environments. In a 3-D environment a player character could be moved in the X-Y-Z coordinate space. For example, a “first-person-shooter” game would allow a player to view through a virtual camera in the “eyes” of the player character. By moving a controller left or right, the player character would consequently move in a positive x-direction or a negative x-direction in the X-Y-Z coordinate space. Likewise, moving the controller up or down would result in the player character moving in the positive or negative z-direction. Pushing a button could then result in the player character “jumping” up and down in the y-direction.
Gaming environments that implemented 3-D gaming environments, or virtual 3-D worlds were limited by the 2-D displays of standard computer monitors or television sets. As such, video games performed 3-D rendering of the 3-D coordinate space so that the 2-D display could show a “3-D” world. This gave the player the appearance as though they were moving around in a 3-D environment despite being limited by the display's 2-D image generation.
Now, with the advent of 3-D televisions and 3-D displays, a gaming environment's 3-D coordinate space can be displayed in the real 3-D visual display. Objects can therefore move away from and towards the screen as though they are moving along a “z-axis” of view, for example.
However, much like watching a 3-D movie, objects that move too far from the display screen can distract the viewer or appear unnatural when viewing the object. For example, a viewer may have a difficult time focusing on other visual objects as an object moves too close to the viewer.
Gaming systems have partially addressed this issue by preventing the virtual camera from moving to a position where the object would distract the viewer or appear unnatural. However, this is not advantageous because it constrains the virtual camera in ways which can detract from gameplay.
Other gaming systems have provided clipping planes that essentially “clip” the visual object. This method is also not advantageous because it slices off part of the object closest to the viewer, giving the object an appearance as though it is coming apart as it leaves the screen. It is therefore desirable to provide a system that properly transitions an object as it is coming out towards the viewer.